package com.martin.dms.model;

import java.util.Set;

/**
 * DMS Client.
 * 
 * @author mtsvetkov.
 */
public interface Client extends DMSObject {

    /**
     * Getter for the client's username.
     * 
     * @return the client's username.
     */
    public String getUsername();

    /**
     * Getter for the client's password.
     * 
     * @return the client's password.
     */
    public String getPassword();

    /**
     * Getter for the client's first name.
     * 
     * @return the client's first name.
     */
    public String getFirstName();

    /**
     * Getter for the client's last name.
     * 
     * @return the client's last name.
     */
    public String getLastName();

    /**
     * Getter for the client's address.
     * 
     * @return the client's address.
     */
    public String getAddress();

    /**
     * Getter for the client's phone number.
     * 
     * @return the client's phone number.
     */
    public String getPhoneNumber();

    /**
     * Getter for the client's e-mail.
     * 
     * @return the client's e-mail.
     */
    public String getEmail();

    /**
     * History of all purchases made by the client.
     * 
     * @return a set with all purchases.
     */
    public Set<Purchase> getPurchases();
}
